package com.ilia.leek.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.Objects;

import lombok.Data;

/**
 * 表名：ft_fund_company
 * 表注释：基金公司表
*/
@ApiModel(value="基金公司表")
@Data
@TableName(value = "ft_fund_company")
public class FundCompany implements Serializable {
    /**
     * 主键
     */
    @TableId(value="id", type = IdType.AUTO)
    @TableField(value = "id")
    @ApiModelProperty(value="主键")
    private Integer id;

    /**
     * 公司代码
     */
    @TableField(value = "company_code")
    @ApiModelProperty(value="公司代码")
    private String companyCode;

    /**
     * 公司名称
     */
    @TableField(value = "company_name")
    @ApiModelProperty(value="公司名称")
    private String companyName;

    /**
     * 公司简称
     */
    @TableField(value = "company_short")
    @ApiModelProperty(value="公司简称")
    private String companyShort;

    /**
     * 公司评级(来自天天基金-天相评级)
     */
    @TableField(value = "company_rank")
    @ApiModelProperty(value="公司评级(来自天天基金-天相评级)")
    private String companyRank;

    /**
     * 公司规模
     */
    @TableField(value = "company_scope")
    @ApiModelProperty(value="公司规模")
    private String companyScope;

    /**
     * 公司成立时间
     */
    @TableField(value = "company_time")
    @ApiModelProperty(value="公司成立时间")
    private LocalDateTime companyTime;

    /**
     * 公司拼音简称
     */
    @TableField(value = "company_pinyin")
    @ApiModelProperty(value="公司拼音简称")
    private String companyPinyin;

    /**
     * 创建时间
     */
    @TableField(value = "create_time",fill = FieldFill.INSERT)
    @ApiModelProperty(value="创建时间")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value="更新时间")
    private LocalDateTime updateTime;

    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        FundCompany that = (FundCompany) o;
        return Objects.equals(companyCode, that.companyCode) && Objects.equals(companyName, that.companyName) && Objects.equals(companyShort, that.companyShort) && Objects.equals(companyRank, that.companyRank) && Objects.equals(companyScope, that.companyScope) && Objects.equals(companyTime, that.companyTime) && Objects.equals(companyPinyin, that.companyPinyin);
    }

    @Override
    public int hashCode() {
        return Objects.hash(companyCode, companyName, companyShort, companyRank, companyScope, companyTime, companyPinyin);
    }
}